perm filename PASCHG.SCO[PAS,SYS] blob
sn#452550 filedate 1979-07-02 generic text, type C, neo UTF8
COMMENT ā VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 changes made to PASCAL/PASSGO on 1-jul-79:
C00003 00003 changes made to PASCAL/PASSGO on 31-may=79:
C00004 00004 changes made to PASCAL/PASSGO on 27-mar-79
C00007 00005 changes made to PASCAL/PASSGO on nov-1-78:
C00008 00006 changes made to PASCAL during summer 1978:
C00011 ENDMK
Cā;
changes made to PASCAL/PASSGO on 1-jul-79:
1. Now it can see page marks in files with no SOS lines. All PASCAL
programs can also. See DOC:COPY.PAS for a sample.
2. In compile-time error messages, it will give both the line/page
number and the name of the procedure in which it occured.
3. A bug was fixed: if you would have an array with more than
377777B elements (max half-word positive integer), it would give you
a runtime error ARRAY SUBSCRIPT OUT OF BOUNDS when your subscript
would go over that value.
changes made to PASCAL/PASSGO on 31-may=79:
1. MIN and MAX require at least two parameters. one parameter will
produce a compilation error message.
2. the switches [NO]TTY and [NO]OUTPUT were added, to tell the
compiler that external/fortran procedures will [will not] use
the input file TTY and the output file OUTPUT.
the compiler options are (*$Y-,O-*). default is ON in both.
3. A bug in MESSAGE was fixed, by which it would fail when trying
to write a scalar as the last thing.
changes made to PASCAL/PASSGO on 27-mar-79
1. The switch /PROFILE was added. If you EXECUTE a program with that
switch, PCROSS will be started after your program, and it will
show on the left margin the number of times that each basic block
was executed. Only the first statement of each basic block will
have a count.
To get a profile of MYPROG.PAS :
@EXECUTE MYPROG/PROFILE
Once your program and PCROSS have run, MYPROG.CRL will contain
statement counts on the left margin, after the line number.
the compiler option to use in the source is (*$C+*).
2. the procedure SETRAN(i: integer) is now supported. It allows to reset
the seed for the function RANDOM(dummy:real). For details on how
they work, see the FORTRAN manual.
3. Files with no line numbers are treated in a nicer way now. The compiler
doesn't see the page marks yet (any volunteers to fix that one?)
but now:
a. In an error message, it gives you the procedure name
instead of the page number.
b. The line increment was changed to one.
c. It produces a file XXXXXX.PRC, where XXXXXX is the name
of your source file, that gives, for each procedure,
the name, and the line numbers for the header line,
the BEGIN statement and the END statement. This can help
you ubicate the errors and also use the debugger.
4. Fixing small bugs and making cosmetic changes.
Things that are being done now:
A. Conversion to native DEC-20 mode. This will speed things up
between a 20 and a 50%.
B. Improving (first af all, fixing) the debugger.
C. /PROFILE will eventually give also timing counts for each
procedure.
Comments, complains, suggestions, etc. to A.ARMANDO at LOTS,
CSL.ARMANDO at SCORE, ARR at SAIL.
changes made to PASCAL/PASSGO on nov-1-78:
+ A String Manipulation Package was added. See the documentation
on DOC:PASCAL.STRINGS
+ The file OUTPUT will not be created if you don't use it.
+ There was a bug by which, if you would declare any file in the
program header (as a program parameter), INPUT and OUTPUT would
not be open unless they were also in the header. It was fixed.
+ The number of errors detected was not being counted right. Now
it is.
changes made to PASCAL during summer 1978:
1. Bugs that were fixed:
+ It would take '\' as an end of comment.
+ If your program had a lot of comments following each other
(not one big comment, but open-close-open.... comment)
it would run out of memory space.
+ when using the CREF switch, it was not passing the file names
to PCROSS.
+ to assign a parameter file to TTY: you would have to type
TTY:FOO instead of only TTY:
+ The procedures DATE and TIME were returning empties.
+ It would try to LOAD the object file even if there were errors.
+ Sometimes, it would produce, without aparent reason, the message:
STACK OVERRUNS HEAP: RETRY WITH MORE CORE
2. Things changed in the compiler:
+ Now, the PASCAL programs will detect pointers that are nil or
undefined, and isue the appropriate error message.
+ Now the bell will sound at the end only if there are errors.
+ It works fine with all the compile-class commands. Particularly,
if you say @DEBUG MYPROG.PAS, it will invoke the PASCAL debuger
properly (If you say @EXEC MYPROG.PAS/DEBUG, it will not work
yet, though).
+ When calling it directly, you can default (by <cr>) the object
and list file names. They will be MYPROG.REL and MYPROG.LST,
respectively. Or you can default any of the file extensions.
they will be .REL, .LST and .PAS, respectively.
3. NEW COMPILER: PASSGO!
+ An INCORE version, called PASSGO, was created. It is much faster
and it is compatible with PASCAL in everything except external
procedures. The extension for PASSGO programs is PGO.